1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for transferring data. Still more particularly, the present invention relates to a method and apparatus for transferring data between a primary storage system and a secondary storage system.
2. Description of Related Art
With increasingly large amounts of data being handled in data processing systems, storage systems, such as disk storage subsystems are being used to store data. Some organizations rely heavily on data and quick access to the data. Disasters caused by environmental conditions, user errors, or application errors may occur in which access to the data is lost for some period of time. Mirroring or copying data to a secondary storage system from primary storage system is currently employed to minimize the time in which access to data is lost due to a disaster.
Peer-to-peer remote copy (PPRC) is a synchronous copy mechanism that creates a copy of data at a remote or secondary storage system. This copy, at the secondary storage, is kept current with the data located at the primary storage system. In other words, a copy of the data located at a secondary storage system is kept in synch with the data at the primary storage system, as observed by the user of the data. Volume pairs are designated in which a volume in a primary system is paired with a volume in the secondary storage system.
With a PPRC system, a PPRC data copy to the recovery or secondary storage system occurs synchronously from the host point of view with write operations to volumes in the primary storage system. With presently available techniques for copying data, multiple disks in a primary storage system contend for paths connecting the primary system to the secondary storage system. When data is written from a host to the primary storage system, the data written to a particular volume is also written to a corresponding volume in the secondary storage system using a path to the secondary storage system. A limit is present to the number of paths that may be used for data transfers. As a consequence, contention may occur for these paths to transfer data from volumes in the primary system to the secondary system. This type of contention causes performance inefficiencies in the system as a whole.
Data transfer occurs in pairs in which data is transferred from a volume in a primary storage system to a corresponding volume in a secondary storage system. These transfers require sets of remote copy commands to be used for each pair to use the paths to transfer data between the volumes in the pair. These sets of commands for data transfers are also referred to as xe2x80x9cchainsxe2x80x9d. For example, a sequence using a series of start and end chains is a high overhead operation. Further, hand shaking is used to identify the status of each command in a chain. This hand shaking introduces additional overhead in a transfer of data from a primary system to a secondary system. This overhead decreases performance because the application system disk write by the host is not considered complete until the secondary system write has been completed. As a result, a completion of a write operation may take far longer than the write to the primary storage system itself. Consequently, performance will decrease as traffic increases with increasing numbers of volumes in storage systems.
Therefore, it would be advantageous to have an improved method and apparatus for transferring data between storage systems.
The present invention provides a method and apparatus for transferring data from a first storage system to a second storage system in which the first storage system includes a first plurality of storage devices and the second storage system includes a second plurality of storage devices. Data is transferred using a pair of devices selected for transferring data for all of the storage devices. Data to be transferred from source storage devices within the first plurality of storage devices is placed or queued on a selected primary storage device within the first plurality of storage devices. The data is sent to a selected secondary storage device within the plurality of storage devices. The data is transferred from the selected secondary storage device to target storage devices within the second plurality of storage devices.
Further, a second pair of devices may be used to return status information to the first storage system from the second storage system. The sending of status information is uncoupled from the sending of data such that the transfer of data and the return of status information is performed asynchronously without requiring a return of status information before transferring additional data.